package org.wutopia.labcloud.domain.product.service;

import org.wutopia.labcloud.domain.product.controller.vo.input.ProductCreateProductInputVO;
import org.wutopia.labcloud.domain.product.controller.vo.input.ProductModifyProductInputVO;
import org.wutopia.labcloud.domain.product.controller.vo.output.ProductCreateProductOutputVO;
import org.wutopia.labcloud.domain.product.controller.vo.output.ProductGetListOutputVO;
import org.wutopia.labcloud.domain.product.controller.vo.output.ProductGetProducetOutputVO;
import org.wutopia.labcloud.library.common.base.PageInputVO;
import org.wutopia.labcloud.library.common.base.PageOutputVO;

import java.io.IOException;
import java.util.List;

public interface ProductService {

    ProductGetProducetOutputVO getProductById(Long id);

    ProductCreateProductOutputVO createProduct(ProductCreateProductInputVO vo);

    void modify(ProductModifyProductInputVO vo);

    void deleteById(Long id);

    PageOutputVO<List<ProductGetListOutputVO>> getList(PageInputVO vo) throws IOException;

}
